package com.welike.shibo.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.welike.shibo.eneity.JsonResult;
import com.welike.shibo.eneity.SysUser;

import java.security.NoSuchAlgorithmException;


/**
 * @author: fangyu
 * @description: 用户/角色/权限
 * @date: 2019/11/21 10:18
 */
public interface SysUserService extends IService<SysUser> {

    SysUser login(String username, String password) throws NoSuchAlgorithmException;

    /**
     * 根据用户名和密码查询对应的用户
     */
    JSONObject getUser(String username, String password);

    /**
     * 查询当前登录用户的权限等信息
     * @return JsonResult
     */
    JsonResult getInfo();

    /**
     * 退出登录
     * @return JsonResult
     */
    JsonResult logout();

    /**
     * 获取所有用户(分页)
     * @param pageNum 页码
     * @param pageSize 页大小
     * @return JsonResult
     */
    JsonResult listUser(Integer pageNum, Integer pageSize);

    /**
     * 添加用户
     * @param requestJson 请求json
     * @return JsonResult
     */
    JsonResult addUser(JSONObject requestJson);

    /**
     * 用户更新
     * @param requestJson 请求json
     * @return JsonResult
     */
    JsonResult updateUser(JSONObject requestJson);

    /**
     * 用户删除
     * @param requestJson 请求json
     * @return JsonResult
     */
    JsonResult deleteUser(JSONObject requestJson);
}
